package com.yami.shop.bean.model;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@Data
@TableName("tz_coupon")
public class Coupon implements Serializable,Comparable<Coupon> {

    /**
     * 优惠券ID
     *
     */
    @TableId
    private Long couponId;

    /**
     * 店铺id
     */
    private Long shopId;

    /**
     * 发放时间
     */
    private Date provideTime;

    /**
     * 使用时间
     */
    private Date useTime;

    /**
     * 金额满减
     */
    private Double reduceMoney;
    /**
     * 优惠券金额
     */
    private Double fullAmountReduce;

    /**
     * 有效期
     */
    private Date effectiveDate;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 优惠券开始时间
     */
    private String startTime;

    /**
     * 优惠券结束时间
     */
    private String endTime;

    /**
     * 优惠券类型(0:无门槛    1:满减)
     */
    private Integer couponType;

    /**
     * 产品id
     */
    private Long prodId;

    /**
     * 创建人id
     */
    private Long userId;

    /**
     * 优惠券状态  0:正常显示    1：删除不显示
     */
    private Integer state;

    /**
     * 优惠券种类(0:单品优惠    1:店铺优惠     2：平台优惠)
     */
    private Integer couponKind;

    /**
     * 优惠券名称
     */
    private String couponTitle;

    /**
     *
     * 优惠券使用记录对象
     */
    private  CouponRecord couponRecord;

    @Override
    public int compareTo(Coupon o) {
        return Integer.parseInt(String.valueOf(couponId)) - Integer.parseInt(String.valueOf(o.couponId));
    }

    @Override
    public String toString() {
        return "[" + "id=" + couponId + ", amount=" + fullAmountReduce + ']';
    }

}
